import Vue from 'vue'
import VueRouter from 'vue-router'
import store from "../store"

Vue.use(VueRouter)



//二级路由规则
export const IndexRoutes=[
  {
    path:"menu",
    component:()=>import("../pages/menu/menu.vue"),
    meta:{
      title:"菜单管理"
    }
  },
  {
    path:"role",
    component:()=>import("../pages/role/role.vue"),
    meta:{
      title:"角色管理"
    }
  },{
    path:"manage",
    component:()=>import("../pages/user/user.vue"),
    meta:{
      title:"管理员管理"
    }
  },
  {
    path:"cate",
    component:()=>import("../pages/cate/cate.vue"),
    meta:{
      title:"商品分类"
    }
  },
  {
    path:"specs",
    component:()=>import("../pages/specs/specs.vue"),
    meta:{
      title:"商品规格"
    }
  },
  {
    path:"goods",
    component:()=>import("../pages/goods/goods.vue"),
    meta:{
      title:"商品管理"
    }
  },
  {
    path:"banner",
    component:()=>import("../pages/banner/banner.vue"),
    meta:{
      title:"轮播图管理"
    }
  },{
    path:"member",
    component:()=>import("../pages/member/member.vue"),
    meta:{
      title:"会员管理"
    }
  },
  {
    path:"seckill",
    component:()=>import("../pages/seckill/seckill.vue"),
    meta:{
      title:"秒杀活动"
    }
  },
]

const routes = [{
  path: "/login",
    component: () => import("../pages/login/login.vue")
  },
  {
    path: "/",
    component: () => import("../pages/index/index.vue"),
    children: [
  
      {
        path:"",
        component:()=>import("../pages/home/home.vue")
      }, 
      ...IndexRoutes
      
      
    ]
  },
  
]

//给每一条路由加路由独享守卫
IndexRoutes.forEach(item=>{
  item.beforeEnter=(to,from,next)=>{
    //如果包含了"/menu",就next(),否则就next("/")
    if(store.getters.user.menus_url.includes("/"+item.path)){
      next()
    }else{
      next('/')
    }
  }
})


const router = new VueRouter({
  routes,
  
})
//登录拦截
router.beforeEach((to,from,next)=>{
  //前往登录，next 
  if(to.path==="/login"){
      next()
      return;
  }
  //去的不是登录，判断本地存储是否有值 
  if(sessionStorage.getItem("user")){
      next()
      return;
  }
  //本地存储没有值
  next("/login")
})
export default router
